For example, transfer of full color image data over an Internet is normally carried out by transferring JPEG (Joint Photographic Experts Group) format image files. It is necessary to carry out data compression processing (hereinafter referred to as JPEG compression processing) to give JPEG format image data for the image date in order to convert image data read from an original document into JPEG format image data (an image file).
As is well-known, broadly speaking, in JPEG compression processing, after image data for a source (original image data) is stored temporarily in image memory, the original image data is read out and is divided into a plurality of 8×8 pixel blocks. DCT (Discrete Cosine Transforms) and quantization are then carried out on each block, followed by scan transformation and Huffman coding.
With image reading apparatuses such as scanners etc., there are also cases where both the “front” and “back” of a single original document are read concurrently (or at substantially the same time). In this case, image data read in concurrently and inputted to image memory (or an image processing unit) exists for the two systems of the front and rear. When image data input then exists for two systems (or more), the following problems occur with respect to this JPEG compression processing.
It is normally necessary to provide a number of arithmetic circuits for carrying out processing corresponding to the number of systems inputted in order to perform JPEG compression processing on image data inputted for the two systems. In this case, the scale of the circuitry for carrying out this image compression processing becomes extremely large simply for carrying out JPEG compression processing and this invites increases in cost. This problem becomes ever more significant for three systems or more.
Further, even when the inputted image data is for two systems, there are cases where this data is subjected to JPEG compression processing using one arithmetic circuit. In this case, when JPEG compression processing is carried out on image data of the first system, it is necessary to store all of the image data of the second system which is currently not being subjected to image compression processing in image memory. Image memory of an extremely large capacity is therefore required and this invites increases in costs. Further, during the JPEG compression processing, inputted image data that is image data for the first system is processed by the arithmetic circuit via image memory and image data for the second system is read out from image memory and processed by the arithmetic circuit. The processing time required for JPEG compression processing is therefore extremely large which brings about a lowering of the processing performance. This problem also becomes ever more significant for three systems or more.
It is an object of the present invention to provide an image processing apparatus for carrying out image processing on image data read concurrently for a plurality of systems using a small amount of image memory and in an efficient manner.
It is another object of the present invention to provide an image processing apparatus for expanding image data which is read concurrently for a plurality of systems and is compressed after dividing the image data.
It is still another object of the present invention to provide an image processing apparatus for carrying out image processing on image data read concurrently for a plurality of systems using a small amount of image memory and in an efficient manner, and for expanding image data which is read concurrently for a plurality of different systems and is compressed after dividing the image data.